A digital data processing system typically comprises three basic elements, namely, a memory element, an input/output element, and a processor element. The memory element stores information in a hierarchy of memory structures of various speeds and capacities including registers, cache, ram, and disk. The information includes data and instructions for processing the data. The processor element accesses the instructions from the memory element and uses them to access and process the data from the memory element. The input/output element allows the input and output of external data, such as, but not limited to, input data from a keyboard and output data to a display device.
The block diagram of a traditional processor element (CPU) is shown in FIG. 1. In a traditional computer's CPU, the data section (20) performs arithmetic operations, such as adding, shifting, multiplying. It is like a fast calculator using binary arithmetic. Memory structures of various speeds and capacities, such as registers, cache, ram, and disk, store the data for the data section. The control section (21) feeds the sequence of instructions to control the data section, including the control of input and output of data. These instructions are like the sequence of buttons we press on a calculator. The instructions are stored in various memory structures, such as microcode memory, cache, ram, and disk. The sequence of instructions is called a subroutine, and these subroutines can call and return from lower level subroutines, which can call and return from other even lower level subroutines, and so on in a hierarchical fashion. The top-level subroutine is the main program. The control section can branch on the result of status information in the data section, such as a negative arithmetic result. The control section also receives interrupts, which interrupt the normal instruction flow and activate interrupt service subroutines.
The processor element includes a processor data element and a processor control element. The processor data element processes data stored in the memory element. For example, it can perform arithmetic operations on the memory data, such as adding memory data. The processor control element accesses the instructions from the memory element and uses them to control the processor data element. The memory element can be viewed as having a memory of data and a memory of instructions. The combination of the processor control element and the instructions in the memory element can be viewed as the control section of the data processing system. The combination of the processor data element and the data in the memory element can be viewed as the data section of the data processing system. The control section sends instructions to the data section to control processing of the data. The data section sends status information back to the control section to allow the control section to branch on the status information.
Prior art digital data processing systems have used these traditional processing techniques and elements to perform operations on data. These types of digital data processing systems, however, have not performed relational operations on this data or adequately emulated certain human behavioral aspects, which are helpful in performing relational operations on data.
Thus, there is a need for digital data processing systems, which are capable of storing a wide variety of relational data, performing relational operations on this data, and emulating human behavior in the processing of this data.